import 'package:flutter_blog_manage_study/base/get/controller/base_get_controller.dart';
import 'package:flutter_blog_manage_study/widget/pull_smart_refresher.dart';
import 'package:get/get.dart';
import 'package:pull_to_refresh/pull_to_refresh.dart';

/// * 作者: Tao
/// * 日期: 2024/3/20
/// * 时间: 10:16
/// * 描述: 分页专用Controller，用于分页加载数据，如果没有分页需求，可直接使用BaseGetController
/// .obs - 用于监听数据变化
class BaseGetPageController extends BaseGetController{

  /// 加载状态
  var loadState = false.obs;
  /// 当前页数
  int page = 1;

  /// 预留初次加载，注意只供上拉下拉使用
  initPullLoading(RefreshController controller){
    requestData(controller);
  }

  /// 预留上拉刷新
  onLoadRefresh(RefreshController controller){
    page = 1;
    requestData(controller , refresh :Refresh.pull);
  }

  /// 预留下拉加载
  onLoadMore(RefreshController controller){
    ++ page;
    requestData(controller ,refresh :Refresh.down);
  }

  /// 网络请求在此处进行，不用在重复进行上拉下拉的处理
  void requestData(RefreshController controller , {Refresh refresh = Refresh.first}) {}
}